package pe.gob.sunarp.entidad;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Set;


/**
 * The persistent class for the TM_PROVINCIA database table.
 * 
 */
@Entity
@Table(name="TM_PROVINCIA")
public class TmProvincia implements Serializable {
	private static final long serialVersionUID = 1L;
	private TmProvinciaPK id;
	private String estado;
	private String nombre;
	private Set<TmDistrito> tmDistritos;
	private TmDepartamento tmDepartamento;
	private OficRegistral oficRegistral;

    public TmProvincia() {
    }


	@EmbeddedId
	public TmProvinciaPK getId() {
		return this.id;
	}

	public void setId(TmProvinciaPK id) {
		this.id = id;
	}
	

	@Column(nullable=false, length=1)
	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}


	@Column(nullable=false, length=40)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	//bi-directional many-to-one association to TmDistrito
	@OneToMany(mappedBy="tmProvincia")
	public Set<TmDistrito> getTmDistritos() {
		return this.tmDistritos;
	}

	public void setTmDistritos(Set<TmDistrito> tmDistritos) {
		this.tmDistritos = tmDistritos;
	}
	

	//bi-directional many-to-one association to TmDepartamento
    @ManyToOne
	@JoinColumns({
		@JoinColumn(name="DPTO_ID", referencedColumnName="DPTO_ID", nullable=false, insertable=false, updatable=false),
		@JoinColumn(name="PAIS_ID", referencedColumnName="PAIS_ID", nullable=false, insertable=false, updatable=false)
		})
	public TmDepartamento getTmDepartamento() {
		return this.tmDepartamento;
	}

	public void setTmDepartamento(TmDepartamento tmDepartamento) {
		this.tmDepartamento = tmDepartamento;
	}
	

	//bi-directional many-to-one association to OficRegistral
    @ManyToOne
	@JoinColumns({
		@JoinColumn(name="OFIC_REG_ID", referencedColumnName="OFIC_REG_ID", nullable=false),
		@JoinColumn(name="REG_PUB_ID", referencedColumnName="REG_PUB_ID", nullable=false)
		})
	public OficRegistral getOficRegistral() {
		return this.oficRegistral;
	}

	public void setOficRegistral(OficRegistral oficRegistral) {
		this.oficRegistral = oficRegistral;
	}
	
}